<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html><head>
        <link rel="stylesheet" type="text/css" href="apidocs.css"/>
        <title>API docs for &ldquo;sympy.geometry.line.LinearEntity&rdquo;</title>
        </head>
        <body><h1 class="class">Class s.g.l.LinearEntity(<a href="sympy.geometry.entity.GeometryEntity.html">GeometryEntity</a>):</h1><span id="part">Part of <a href="sympy.geometry.line.html">sympy.geometry.line</a></span><p>known subclasses: <a href="sympy.geometry.line.Line.html">sympy.geometry.line.Line</a>, <a href="sympy.geometry.line.Ray.html">sympy.geometry.line.Ray</a>, <a href="sympy.geometry.line.Segment.html">sympy.geometry.line.Segment</a></p><div class="toplevel"><pre>A linear entity (line, ray, segment, etc) in space.

This is an abstract class and is not meant to be instantiated.
Subclasses should implement the following methods:
    __eq__
    __contains__</pre></div><table class="children"><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.__new__">__new__</a></td><td><span class="undocumented">Undocumented</span></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.p1">p1</a></td><td><div><p>One of the defining points of a linear entity.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.p2">p2</a></td><td><div><p>One of the defining points of a linear entity.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.coefficients">coefficients</a></td><td><div><p>The coefficients (a,b,c) for equation ax+by+c=0</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.is_concurrent">is_concurrent</a></td><td><div><p>Returns True if the set of linear entities are concurrent, False</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.is_parallel">is_parallel</a></td><td><div><p>Returns True if l1 and l2 are parallel, False otherwise</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.is_perpendicular">is_perpendicular</a></td><td><div><p>Returns True if l1 and l2 are perpendicular, False otherwise</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.angle_between">angle_between</a></td><td><div><p>Returns an angle formed between the two linear entities.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.parallel_line">parallel_line</a></td><td><div><p>Returns a new Line which is parallel to this linear entity and 
passes</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.perpendicular_line">perpendicular_line</a></td><td><div><p>Returns a new Line which is perpendicular to this linear entity and</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.perpendicular_segment">perpendicular_segment</a></td><td><div><p>Returns a new Segment which connects p to a point on this linear</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.slope">slope</a></td><td><div><p>The slope of this linear entity, or infinity if vertical.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.points">points</a></td><td><div><p>The two points used to define this linear entity.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.projection">projection</a></td><td><div><p>Project a point, line, ray, or segment onto this linear entity.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.intersection">intersection</a></td><td><div><p>Returns a list of all of the intersections of this entity and 
another</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.random_point">random_point</a></td><td><div><p>Returns a random point on this Ray.</p>
</div></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.__eq__">__eq__</a></td><td><span class="undocumented">Undocumented</span></td></tr><tr class="function"><td>Function</td><td><a href="#sympy.geometry.line.LinearEntity.__contains__">__contains__</a></td><td><span class="undocumented">Undocumented</span></td></tr></table>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.__new__">__new__(cls, p1, p2, **kwargs):</a></div>
            <div class="functionBody"><div class="undocumented">Undocumented</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.p1">p1(self):</a></div>
            <div class="functionBody"><div><p>One of the defining points of a linear entity.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.p2">p2(self):</a></div>
            <div class="functionBody"><div><p>One of the defining points of a linear entity.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.coefficients">coefficients(self):</a></div>
            <div class="functionBody"><div><p>The coefficients (a,b,c) for equation ax+by+c=0</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.is_concurrent">is_concurrent(*lines):</a></div>
            <div class="functionBody"><div><p>Returns True if the set of linear entities are concurrent, False 
otherwise. Two or more linear entities are concurrent if they all intersect
at a single point.</p>
<h1 class="heading">Description of Method Used:</h1>
  <p>Simply take the first two lines and find their intersection. If there 
  is no intersection, then the first two lines were parallel and had no 
  intersection so concurrenecy is impossible amongst the whole set. 
  Otherwise, check to see if the intersection point of the first two lines 
  is a member on the rest of the lines. If so, the lines are 
  concurrent.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.is_parallel">is_parallel(l1, l2):</a></div>
            <div class="functionBody"><div><p>Returns True if l1 and l2 are parallel, False otherwise</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.is_perpendicular">is_perpendicular(l1, l2):</a></div>
            <div class="functionBody"><div><p>Returns True if l1 and l2 are perpendicular, False otherwise</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.angle_between">angle_between(l1, l2):</a></div>
            <div class="functionBody"><pre>Returns an angle formed between the two linear entities.

Description of Method Used:
===========================
    From the dot product of vectors v1 and v2 it is known that:
        dot(v1, v2) = |v1|*|v2|*cos(A)
    where A is the angle formed between the two vectors. We can
    get the directional vectors of the two lines and readily
    find the angle between the two using the above formula.</pre></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.parallel_line">parallel_line(self, p):</a></div>
            <div class="functionBody"><div><p>Returns a new Line which is parallel to this linear entity and passes 
through the specified point.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.perpendicular_line">perpendicular_line(self, p):</a></div>
            <div class="functionBody"><div><p>Returns a new Line which is perpendicular to this linear entity and 
passes through the specified point.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.perpendicular_segment">perpendicular_segment(self, p):</a></div>
            <div class="functionBody"><div><p>Returns a new Segment which connects p to a point on this linear entity 
and is also perpendicular to this line. Returns p itself if p is on this 
linear entity.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.slope">slope(self):</a></div>
            <div class="functionBody"><div><p>The slope of this linear entity, or infinity if vertical.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.points">points(self):</a></div>
            <div class="functionBody"><div><p>The two points used to define this linear entity.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.projection">projection(self, o):</a></div>
            <div class="functionBody"><div><p>Project a point, line, ray, or segment onto this linear entity. If 
projection cannot be performed then a GeometryError is raised.</p>
<h1 class="heading">Notes:</h1>
  <ul>
    <li>
      A projection involves taking the two points that define the linear 
      entity and projecting those points onto a Line and then reforming the
      linear entity using these projections.
    </li>
    <li>
      A point P is projected onto a line L by finding the point on L that 
      is closest to P. This is done by creating a perpendicular line 
      through P and L and finding its intersection with L.
    </li>
  </ul>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.intersection">intersection(self, o):</a></div>
            <div class="functionBody"><div><p>Returns a list of all of the intersections of this entity and another 
entity.</p>
<h1 class="heading">Notes:</h1>
  <ul>
    <li>
      This method is not intended to be used directly but rather through 
      the intersection() method found in util.py.
    </li>
    <li>
      An entity is not required to implement this method.
    </li>
    <li>
      If two different types of entities can intersect, it is only required
      that one of them be able to determine this.
    </li>
  </ul>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.random_point">random_point(self):</a></div>
            <div class="functionBody"><div><p>Returns a random point on this Ray.</p>
</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.__eq__">__eq__(self, other):</a></div>
            <div class="functionBody"><div class="undocumented">Undocumented</div></div>
            </div>
            <div class="function">
            <div class="functionHeader">def <a name="sympy.geometry.line.LinearEntity.__contains__">__contains__(self, other):</a></div>
            <div class="functionBody"><div class="undocumented">Undocumented</div></div>
            </div></body>
        